/**
 * app.js为入口文件，进行命令行参数的转换-----去逗号
 * main.js进行信源概率分布的验证：
 *    一次性输入的参数验证成功后，返回数组，在app.js中导入计算函数进行计算
 *    分多次输入的参数验证成功后，在main.js导入计算函数进行计算
 * calculate.js进行熵的计算
 * verificat_first.js进行命令行参数一次性输入的验证
 * verificat_second.js进行命令行参数分多次输入的验证
 */

const verification = require('./src/main.js');
const calculate = require('./src/calculate.js');
//获取命令行参数
const args = process.argv.slice(2);

// 将命令行参数转换为数组
const newArgs = (args) => {
  if (args.some(arg => arg.includes(','))) {
    return args.flatMap(arg => arg.split(',').map(arg => arg.trim()))
  } else {
    return args
  }
}

const newargs = newArgs(args)
const p = verification(newargs);
if (p) {
  //一次性输入的参数验证成功后，进行计算
  calculate(p)
}